// 引入模块
let express = require("express")

// 使用router
let router = express.Router();
// 引用fs
let fs=require("fs")

// 引入数据库
let mysql = require("mysql")

// 连接数据库
let config = {
    host:"localhost",//数据库连接地址
    port:3306,//数据库连接端口
    user:"root",//数据库用户名
    password:"root",//数据库密码
    database:"student",//选择要操作的库房
}

// 连接数据库
let connection = mysql.createConnection(config);

// 加载验证码包
let svgcaptcha = require("svg-captcha");

// 加载cookie
let cookie = require("cookie-parser"); //加载cookie

router.use(cookie()) //使用中间件配置获取cookie值
// console.log(ojson);
// 规划路由
router.get('/reg', (req, res) => { 
    res.render('../views/register.html')
})

router.get("/code",(req,res)=>{
    //创建生成验证码
    let captcha =  svgcaptcha.create({
       size:"4",//验证码文件大小(文子数量大小)
       fontSize:"50",//验证码字体大小
       noise:"2",//验证码干扰线 
    });//默认情况下没有给任何的配置参数内容，那么验证码会有自己默认生成样式.
     
    res.type("svg");//使用svg格式生成验证码图片
    //  console.log(captcha.text);
    res.send(captcha.data);//将生成验证码发送给前端

    res.cookie("data",captcha.text)

})

// 获取表单输入的数据
router.post('/reg', (req, res) => { 
    let time = new Date()
    time.toLocaleString()
    let sql = `select * from member`
    connection.query(sql, (err, doc) => { 
    // 判断
        let { tel, pass, pass2, yanzheng } = req.body     
    let p = doc.find((item) => { 
        return item.username != tel&&res.cookie.data == yanzheng;

    })
        if (p) {
            let add = `insert into member (username,password,time) value ("${tel}","${pass}",${time})`
            connection.query(sql)
        res.send("注册成功")
    }else {
        res.send("注册失败或者验证码错误")
        }
    })
    
})
// 暴露router
module.exports = router;